﻿using System.Collections.Generic;

namespace Learun.Application.TwoDevelopment.ZZDT_EC
{
    /// <summary>
    /// 版 本 PIT-ADMS V7.0.3 敏捷开发框架
    /// Copyright (c) 2013-2018 Hexagon PPM
    /// 创 建：超级管理员
    /// 日 期：2022-02-24 11:12
    /// 描 述：对象类型属性表
    /// </summary>
    public interface ec_objecttypepIBLL
    {
        #region 获取数据
        /// <summary>
        /// 获取对象类型属性表数据
        /// <summary>
        /// <param name="objectTypeID">对象类型ID</param>
        /// <param name="ProjectId">项目ID</param>
        /// <param name="isLoadExtraData">是否加载额外的数据</param>
        /// <returns></returns>
        IEnumerable<ec_objecttypepEntity> GetObjectTypePById(string objectTypeID, string ProjectId, bool isLoadExtraData = false);

        /// <summary>
        /// 获取属性反向关联的对象类型表数据
        /// <summary>
        /// <param name="propertyID">属性ID</param>
        /// <param name="ProjectId">项目ID</param>
        /// <returns></returns>
        IEnumerable<ec_objecttypepEntity> GetPropertyByObjectId(string propertyID, string ProjectId);
        #endregion

        #region 提交数据
        /// <summary>
        /// 删除实体数据
        /// <param name="keyValue">主键</param>
        /// <summary>
        /// <returns></returns>
        void DeleteEntity(string keyValue, string ProjectId);
        /// <summary>
        /// 保存对象类型属性表数据（新增）
        /// <param name="objectTypeID">对象类型ID</param>
        /// <summary>
        /// <returns></returns>
        void SaveEntity(string objectTypeID, List<ec_objecttypepEntity> entityList, string ProjectId);
        /// <summary>
        /// 保存属性反向关联的对象类型数据（新增）
        /// <param name="propertyID">属性ID</param>
        /// <summary>
        /// <returns></returns>
        void SavePropertyO(string propertyID, string objectTypeIDs, string ProjectId);
        #endregion

    }
}
